[heft] feat: add lifecycle events for Heft tasks + phases#5250
[heft] feat: add lifecycle events for Heft tasks + phases#5250dmichon-msft merged 21 commits intomicrosoft:mainfrom
Conversation
Signed-off-by: Aramis Sennyey <aramissennyeydd@users.noreply.github.com>
Signed-off-by: Aramis Sennyey <aramissennyeydd@users.noreply.github.com>
Signed-off-by: Aramis Sennyey <aramissennyeydd@users.noreply.github.com>
Signed-off-by: Aramis Sennyey <aramissennyeydd@users.noreply.github.com>
Signed-off-by: Aramis Sennyey <aramissennyeydd@users.noreply.github.com>
Signed-off-by: Aramis Sennyey <aramissennyeydd@users.noreply.github.com>
Signed-off-by: Aramis Sennyey <aramissennyeydd@users.noreply.github.com>
Signed-off-by: Aramis Sennyey <aramissennyeydd@users.noreply.github.com>
Signed-off-by: Aramis Sennyey <aramissennyeydd@users.noreply.github.com>
Signed-off-by: Aramis Sennyey <aramissennyeydd@users.noreply.github.com>
Signed-off-by: Aramis Sennyey <aramissennyeydd@users.noreply.github.com>
Signed-off-by: Aramis Sennyey <aramissennyeydd@users.noreply.github.com>
Signed-off-by: Aramis Sennyey <aramissennyeydd@users.noreply.github.com>
dmichon-msft
left a comment
There was a problem hiding this comment.
This is definitely getting really close. It feels a lot cleaner now than the initial approach and gets us closer to being able to converge the runner stacks between Rush and Heft.
common/changes/@rushstack/operation-graph/sennyeya-heft-lifecycle_2025-06-11-16-53.json
Outdated
Show resolved
Hide resolved
Signed-off-by: Aramis Sennyey <aramissennyeydd@users.noreply.github.com>
Signed-off-by: Aramis Sennyey <aramissennyeydd@users.noreply.github.com>
|
@dmichon-msft Should be ready for another round - basically updated the events to treat the phase operation more like a silent architectural node. It is no longer part of the input types to |
dmichon-msft
left a comment
There was a problem hiding this comment.
Little bit of cleanup left from old casts and type checks
Co-authored-by: David Michon <dmichon@microsoft.com>
Signed-off-by: Aramis Sennyey <aramissennyeydd@users.noreply.github.com>
dmichon-msft
left a comment
There was a problem hiding this comment.
Just a minor nit left, otherwise looks good.
Co-authored-by: David Michon <dmichon@microsoft.com>
|
@dmichon-msft Updated 🙂 |
|
@dmichon-msft Anything else that I need to do for this PR? |
|
@aramissennyeydd , looking at this again since I'm doing some work on @rushstack/operation-graph; was it a deliberate choice to make these hooks Async or was that purely due to copying the existing hooks? |
|
@dmichon-msft I believe it was to copy the existing hooks, the plugin I wrote that uses this does all async work during |
Summary
Alternative to #5232 that exposes Operation lifecycle events directly instead of through a metrics interface.
Details
We're trying to measure the duration of specific Heft tasks similar to the duration of specific Rush phases. Specifically, I'm trying to understand the impact of migrating from Webpack to Rspack beyond manual benchmarking. This also opens up visibility into sync/blocking tasks and how to improve Heft parallelism.
How it was tested
Added new project that verified that output had the correct information,
Impacted documentation